package nio;

import java.nio.ByteBuffer;
import java.nio.IntBuffer;
import java.nio.channels.Channel;
import java.util.Arrays;

/**
 * 一个简单的 Buffer 案例
 *
 * @author chenyuan
 * @date 2020/11/1 15:07
 */
public class BasicBuffer {
	public static void main(String[] args) {
		// 创建一个 Buffer, 一个可以存放 5 个整数的 Buffer
		IntBuffer intBuffer = IntBuffer.allocate(5);
		// 向 Buffer 中存放数据
		for (int i = 0; i < intBuffer.capacity(); i++) {
			intBuffer.put(i);
		}
		// 从 Buffer 读取数据
		// 对 Buffer 进行读写切换
		intBuffer.flip();
		while (intBuffer.hasRemaining()) {
			System.out.println(intBuffer.get());
		}

		// 把 ByteBuffer 转换成只读类型
		ByteBuffer buffer = ByteBuffer.allocate(3);
		ByteBuffer byteBuffer = buffer.asReadOnlyBuffer();
		System.out.println(buffer);
		System.out.println(byteBuffer);
	}
}
